This invention relates to a time-versioned data storage mechanism.
In conventional data storage mechanisms (such as relational databases for example), queries to the data storage mechanism will return results that reflect the current state of the data, at the date on which it. was last updated. Also, existing versioning systems are based on the premise that changes are always made to the current state and that changes in the past or future are not supported.
However, it would be desirable to be able to view the state of the data from any selected point in time. It would also be desirable to be able to make changes to the past or future states of the system, not just to the current state. However, conventional data storage mechanisms do not have these capabilities.
The object of the present invention is to provide a novel data storage mechanism that supports the ability to view the state of the data from any selected point in time.
According to the invention data processing apparatus comprises means for storing a plurality of records, each record including:
(a) at least one attribute;
(b) a time span indicating the time span for which the attribute is valid;
(c) an insertion time indicating when the record was created; and
(d) a type field, indicating whether the record is a concrete record, or a delta record that possibly modifies the attribute value of a previous concrete or delta record.